home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
DiskUtil
/
Crunch
/
XPK
/
DOCS
/
SHRI.DOC
< prev
next >
Wrap
Text File
|
1995-01-25
|
6KB
|
165 lines
xpkSHRI
=========
xpkSHRI.library
Version 2.1 (25 Jan 1995)
Copyright 1995 by Matthias Meixner
License/Disclaimer
------------------
This library may be freely distributed with the XPK compression
package, as long as it is kept in its original, complete, and unmodified
form. It may not be distributed in a commercial package of any kind without
my written permission. You must not distribute the library without this
documentation.
You must not remove the copyright-information from the library or this
document.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
Description
-----------
SHRI is an XPK packer sublibrary which implements a highly for
compression rate optimized compressor, that uses offset/len encoding with
adaptive arithmetic aftercoding for best compression results. Its
compression rate is better than that of most other packers, e.g. lha,
zoo or powerpacker.
It supports 7 modes, which differ in the size of the dictionary:
Modes Dictionarysize
------ --------------
0- 14 1k
15- 28 2k
29- 42 4k
43- 56 8k
57- 70 16k
71- 84 32k
85-100 64k
A larger dictionarysize gives a higher compression rate and faster
decompression, but slows down the compression.
Here are some benchmarks to give you an impression of the compressionrate
compared to other compression-libraries (BLZW,NUKE,RAKE 68020 V1.5)
These tests were done on an A4000/040.
Binary (assembler of SAS-C6.51):
Packer UComp Comp CF CTime CSpd UTime USpd
------------------------------------------------------------------
blzw 104540 67144 35.8% 0.63 163659 0.16 634266
nuke 104540 53672 48.7% 2.15 48562 0.08 1244520
rake 104540 52980 49.4% 0.75 138040 0.07 1341530
shri.0 104540 48404 53.7% 2.94 35484 1.57 66409
shri.15 104540 47544 54.6% 2.97 35094 1.53 68291
shri.29 104540 46652 55.4% 3.13 33343 1.50 69491
shri.43 104540 46236 55.8% 3.40 30724 1.43 72610
shri.57 104540 46080 56.0% 3.69 28311 1.42 73229
shri.71 104540 45952 56.1% 4.11 25425 1.40 74198
shri.85 104540 45732 56.3% 4.71 22182 1.40 74430
English text:
Packer UComp Comp CF CTime CSpd UTime USpd
------------------------------------------------------------------
blzw 284397 140160 50.8% 1.39 204168 0.42 662889
nuke 284397 139540 51.0% 11.21 25349 0.26 1082039
rake 284397 131760 53.7% 3.85 73740 0.23 1195470
shri.0 284397 137008 51.9% 8.68 32757 4.72 60228
shri.15 284397 131576 53.8% 8.30 34254 4.23 67146
shri.29 284397 126456 55.6% 8.17 34799 3.76 75561
shri.43 284397 121336 57.4% 8.52 33349 3.32 85499
shri.57 284397 116380 59.1% 9.61 29578 2.96 95968
shri.71 284397 112132 60.6% 11.90 23896 2.69 105528
shri.85 284397 108028 62.1% 16.84 16886 2.52 112634
C-sourcecode:
Packer UComp Comp CF CTime CSpd UTime USpd
------------------------------------------------------------------
blzw 102137 38400 62.5% 0.44 230525 0.14 709441
nuke 102137 28300 72.3% 1.66 61493 0.06 1655974
rake 102137 24916 75.7% 1.30 78178 0.05 1889131
shri.0 102137 30088 70.6% 2.01 50606 0.94 107935
shri.15 102137 27228 73.4% 2.02 50511 0.83 122441
shri.29 102137 25460 75.1% 2.19 46441 0.74 136683
shri.43 102137 23984 76.6% 2.59 39410 0.68 149844
shri.57 102137 22528 78.0% 3.31 30803 0.60 168234
shri.71 102137 21360 79.1% 4.66 21906 0.55 183074
shri.85 102137 20704 79.8% 5.94 17173 0.53 189540
As you can see, this library is not meant to be used for online-compression
as it is used in e.g. XFH. It is meant to be used for achieving highest
compression-rates. These can be useful, when transferring files via
modem, for a backup to a slow medium (floppy disks) when you have a fast
computer or for creating archives with the xpkarchive.library.
The decompressionspeed of this version is about 82% higher than that of
version 1.0. The compression is about 5% faster.
History
-------
V0.2 First public Release
V0.3 XpksPackChunk retured XPKERR_CORRUPT instead of XPKERR_EXPANSION
- Bug fixed in V0.3
V0.4 SHRI could not decompress files, which where partly compressable
- Bug fixed in V0.4
V1.0 New Version with improved compression- and decompressionspeed
V2.1 Improved decompressionspeed, all relevant parts of the decompressor
are now written in assembler.
Note: There was another version of SHRI floating around, which was not
released by me. Somebody had disassembled optimized and reassembled
my xpkSHRI.library. It was released as version 2.0 and my copyright
was removed from that file. Therefore once again:
You must not remove my copyright-information from the library
or this documentation !
(BTW: This version 2.0 produces a mungwall-hit: mismatched FreeMem )
To keep the versionnumber growing, I had to release this version
as version 2.1, although it just improves decompressionspeed.
Contact Address
---------------
Matthias Meixner
Sandberg 13
36145 Schwarzbach
Germany
meixner@rbg.informatik.th-darmstadt.de